import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from "weapp-tailwindcss/vite";
import UniKuRoot from "@uni-ku/root";

const isH5 = process.env.UNI_PLATFORM === "h5";
// vue3 版本构建到 app, UNI_PLATFORM 的值为 app
// vue2 版本为 app-plus
const isApp = process.env.UNI_PLATFORM === "app-plus";
const WeappTailwindcssDisabled = isH5 || isApp;

const postcssPlugins = [
  // require('tailwindcss')() 和 require('tailwindcss') 等价的，表示什么参数都不传，如果你想传入参数
  // require('tailwindcss')({} <- 这个是postcss插件参数)
  require("tailwindcss"),
  require("autoprefixer"),
];
if (!WeappTailwindcssDisabled) {
  postcssPlugins.push(
    require("postcss-rem-to-responsive-pixel")({
      rootValue: 32,
      propList: ["*"],
      transformUnit: "rpx",
    })
  );
}
export default defineConfig({
  // uni 是 uni-app 官方插件， uvtw 一定要放在 uni 后，对生成文件进行处理
  plugins: [
    uni(),
    // 若存在改变 pages.json 的插件，请将 UniKuRoot 放置其后
    UniKuRoot(), //虚拟根标签
    uvwt({
      disabled: WeappTailwindcssDisabled, //非小程序不启用
      rem2rpx: WeappTailwindcssDisabled, //插件内置 rem 转 rpx 功能 (推荐) 在 ^3.0.0 版本中，所有插件都内置了 rem2rpx 参数，默认不开启，要启用它只需将它设置成 true 即可  https://tw.icebreaker.top/docs/quick-start/rem2rpx
    }),
  ],
  css: {
    preprocessorOptions: {
      scss: {
        api: "modern-compiler",
      },
    },
    postcss: {
      plugins: postcssPlugins,
    },
  },
});
